Feature extraction is one of the most important issues in many vision tasks, such as object detection and recognition, face detection and recognition, glasses detection, and character recognition. Conventional micro-patterns, such as edge, line, spot, blob, corner, and more complex patterns, are designed to describe the spatial context of the image via local relationships between pixels and can be used as filters or templates for finding and extracting features in an image. In other words, a micro-pattern is a filter or template for recognizing a visual feature portrayed by pixel attributes.
However, these conventional micro-patterns are intuitively user-designed based on experience, and are also limited by being application-specific. Thus, conventional micro-patterns fit for one task might be unfit for another. For example, the “Four Directional Line Element” is successful in character recognition, but does not achieve the same success in face recognition, since facial images are much more complex than a character image and cannot be simply represented with directional lines. Another problem is that in some cases, it is difficult for the user to intuitively determine whether the micro-pattern is appropriate without trial-and-error experimenting. A similar problem exists for Gabor features. Gabor features have been used to recognize general objects and faces, but the parameters are mainly adjusted by experimental results, which costs a great deal of time and effort to find appropriate micro-patterns and parameters. What is needed for better feature extraction and recognition is a system to automatically generate micro-patterns with strong linkages to one or more mathematical properties of the actual image.